package com.aidex.biz.domain;

import com.aidex.common.annotation.Excel;
import com.aidex.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 用户提现对象 biz_user_tixian
 *
 * @author sean
 * @email 2074844820@qq.com
 * @date 2022-10-27
 */
@Data
public class UserTixian extends BaseEntity<UserTixian> {
    private static final long serialVersionUID = 1L;


    /**
     * 用户ID
     */
    @Excel(name = "用户ID")
    private String userInfoId;

    /**
     * 用户账户ID
     */
    @Excel(name = "用户账户ID")
    private String accountId;

    /**
     * 金额
     */
    private BigDecimal money;

    /**
     * 排序
     */
    private String sort;

    /**
     * 状态（0待审核 1 已打款 2 已到账 -1 退回 99 打款失败）
     */
    @NotBlank(message = "状态（0待审核 1 已打款 2 已到账 -1 退回 99 打款失败）")
    private String status;


    private String statusText;

    /**
     * 支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;
    /**
     * 微信支付流水号
     */
    private String wxPayNo;

    /**
     * 对账单号码
     */
    private String billId;

    private String nikeName;
    private String name;
    private String phone;


    public void setUserInfoId(String userInfoId) {
        this.userInfoId = userInfoId;
    }

    public String getUserInfoId() {
        return userInfoId;
    }

    public void setAccountId(String accountId) {
        this.accountId = accountId;
    }

    public String getAccountId() {
        return accountId;
    }

    public void setMoney(BigDecimal money) {
        this.money = money;
    }

    public BigDecimal getMoney() {
        return money;
    }

    public void setSort(String sort) {
        this.sort = sort;
    }

    public String getSort() {
        return sort;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("userId", getUserId()).append("deptId"
                , getDeptId()).append("userName", getUserName()).append("deptName", getDeptName()).append("companyId"
                , getCompanyId()).append("userInfoId", getUserInfoId()).append("accountId", getAccountId()).append(
                        "money", getMoney()).append("sort", getSort()).append("status", getStatus()).append("remark",
                getRemark()).append("id", getId()).append("createBy", getCreateBy()).append("createDept",
                getCreateDept()).append("createTime", getCreateTime()).append("updateBy", getUpdateBy()).append(
                        "updateTime", getUpdateTime()).append("updateIp", getUpdateIp()).append("version",
                getVersion()).append("delFlag", getDelFlag()).toString();
    }
}
